home *** CD-ROM | disk | FTP | other *** search
/ The Utilities Experience / The Utilities Experience - Volume 1.iso / software / demos / a-d / amms / mbbatch / com / zerberus_server < prev   
Encoding:
Text File  |  1995-05-05  |  5.6 KB  |  221 lines

  1. ;    Zerberus-Server
  2. ;
  3. ;    Scriptfile zum Austausch neuer Nachrichten im Z-Netz-Format
  4. ;    $VER: 3.03 / 19.04.1994
  5. ;
  6. ;       Beschreibung :
  7. ;    Server-Datei fuer das Zerberus-Protokoll. Die gesendeten und
  8. ;    empfangenen Daten werden im Directory MBMSG:POINT/<Portname>/
  9. ;    temporaer gespeichert.
  10. ;    Stehen im Directory MBMSG:POINT/NETCALL/ die Dateien <USERNAME>.LHA
  11. ;    und <USERNAME>.MSGNR, so werden nicht die neusten Nachrichten und
  12. ;    Files aktuell exportiert und gepackt, sondern diese vorgepackten
  13. ;    Daten benutzt.
  14. ;
  15. ;    Das Script sollte so eingebunden werden, dass es ueber Flags
  16. ;    auf die folgende Befehle zugreifen kann !
  17. ;
  18. ;    CHECK FILE
  19. ;    CONVERT FASTTOZER
  20. ;    DISK DOWNLOAD
  21. ;    DISK UPLOAD
  22. ;    ECHO
  23. ;    EXTERN
  24. ;    FASTNET GETFILE
  25. ;    GOTO
  26. ;    IF
  27. ;    LOGOUT        <-- Option /FAST muss unterstuetzt werden !
  28. ;    ON ERROR
  29. ;    ON HANGUP
  30. ;    POINT GETFILE
  31. ;    POINT MAKEFILE
  32. ;    WAIT
  33. ;
  34. ;    Folgende Amiga-Dos-Befehle werden benutzt :
  35. ;
  36. ;    COPY
  37. ;    DELETE
  38. ;
  39. ;    Einrichtung eines Netcalls fuer eine Netzbox (Node) :
  40. ;    USERNAME : Name der anrufenden Node
  41. ;    STRASSE  : @NETCALL
  42. ;
  43. ;    Einrichtung eines LocalGates fuer die Einbindung eines anderen
  44. ;    lokalen Netzwerks :
  45. ;    USERNAME : Name der anrufenden Node
  46. ;    VORNAME  : Gatename im Fastnet
  47. ;    STRASSE  : @LOCALGATE
  48. ;
  49. ;    Einrichtung eines Gates fuer die Einbindung eines anderen
  50. ;    globalen Netzwerks :
  51. ;    USERNAME : Name der anrufenden Node
  52. ;    VORNAME  : Gatename im Fastnet
  53. ;    NACHNAME : Gatename im Zerberus-Netz
  54. ;    STRASSE  : @GATE
  55. ;
  56. ;    Beim Netcall (@NETCALL) muss die Datei MBDAT:USERNAME.NODES
  57. ;    existieren (USERNAME = Name der anrufenden Node).
  58. ;    In dieser Datei muss die anrufende Node und die Nodes stehen,
  59. ;    die ueber sie zu erreichen sind.
  60. ;    Datei fuer eine Node:
  61. ;    0
  62. ;    S
  63. ;    0
  64. ;    NAME DER ANRUFENDEN NODE
  65. ;    0        <- Hier auch ein LF setzen
  66. ;
  67. ;    Wenn mehrere Nodes ueber den Netcall mit dem Fastnet versorgt werden,
  68. ;    bitte den Aufbau der Datei in der Dokumentation FASTNET.DOK unter
  69. ;    dem Stichwort Systemnachricht der Kategorie 0 nachlesen.
  70. ;
  71. ;    Konstanten :
  72. ;
  73. TMPDIR  = "mbmsg:point/'{port}'/"        ; Dir fuer Tmp-Files
  74. NETDIR  = "mbmsg:point/netcall/"        ; NET-Directory
  75. MAXKBYT = 2000                    ; Max. Filelaenge in KByte
  76. MSGFILE = "PUFFER"                ; Name des Msg-Files
  77. NRFILE  = "msgnr"                ; File fuer Msg-Nummern
  78. COPYFILE= "'{NAME}'.lha"            ; Vorgabefile (Pack-Event)
  79. COPYNR  = "'{NAME}'.msgnr"            ; File fuer Msg-Nummern
  80. PCKFILE = "called.lzh"                ; Name des gepackten Files
  81. RECFILE = "caller.lha"                ; Name des empfangenen Files
  82. TBOXDIR = "mbdat:"                ; Dir fuer Fastnet-Nodefile
  83. PACKER  = "lha -P-1 m ""'TMPDIR''PCKFILE'"" ""'TMPDIR''MSGFILE'"""
  84.                         ; Packen
  85. UPACKER = "lha -P-1 x ""'TMPDIR''RECFILE'"" ""'TMPDIR'"" ""'MSGFILE'"""
  86.                         ; Entpacken
  87. ;
  88. _on error POINT_ERROR                ; Im Fehlerfall ...
  89.  
  90. ;
  91. ;    Pruefe auf normalen Netcall
  92. ;
  93.  
  94. _if {STREET} != "@NETCALL" then _goto LOCALGATE
  95. OP_GET="/NETCALL"                ; Setze Optionen
  96. OP_MAKE="/NETCALL"
  97. OP_CVT=""
  98. _goto START
  99.  
  100. ;
  101. ;    Pruefe auf LocalGate
  102. ;
  103. LOCALGATE:
  104. _if {STREET} != "@LOCALGATE" then _goto GATE
  105. OP_GET="/NETCALL/LOCALGATE"            ; Setze Optionen
  106. OP_MAKE="/NETCALL"
  107. OP_CVT="/LOCALGATE"
  108. _goto START
  109.  
  110. ;
  111. ;    Pruefe auf Gate
  112. ;
  113. GATE:
  114. _if {STREET} != "@GATE" then _goto USERPOINT
  115. OP_GET="/NETCALL/GATE"                ; Setze Optionen
  116. OP_MAKE="/NETCALL/GATE"
  117. OP_CVT="/GATE"
  118. _goto START
  119.  
  120. ;
  121. ;    User-Point
  122. ;
  123. USERPOINT:
  124. OP_GET=""                    ; Loesche Optionen
  125. OP_MAKE=""
  126. OP_CVT=""
  127.  
  128. ;
  129. ;    Aktiviere Handshaking
  130. ;
  131. START:
  132. _echo "#home##cls#POINT LOGIN OK ...^J"
  133. _echo "running ARC^Jrunning ARC^Jrunning ARC^Jrunning ARC^Jrunning ARC"
  134.  
  135. ;
  136. ;    Loesche alte Files / Rename, wenn File immer noch geoeffnet
  137. ;
  138.  
  139. _if TMPDIR != "" then _extern/q delete "'TMPDIR'#?"
  140. _extern/q rename "'TMPDIR''PCKFILE'" "'TMPDIR''PCKFILE''{CALLNR}'"
  141. _extern/q rename "'TMPDIR''RECFILE'" "'TMPDIR''RECFILE''{CALLNR}'"
  142.  
  143. ;
  144. ;    Neue Nachrichten fuer andere Box sammeln & packen
  145. ;
  146.  
  147. _check file "'NETDIR''COPYFILE'" EXPORT        ; Existiert Sendefile ?
  148. _extern/q copy "'NETDIR''COPYFILE'" "'TMPDIR''PCKFILE'"    ; Ja, vorgepackte
  149. _extern/q copy "'NETDIR''COPYNR'" "'TMPDIR''NRFILE'"    ; Files benutzen
  150. _goto HANDSHAKE                    ; -> Warten auf Handshake
  151.  
  152. ;    Wenn Netcall, dann PMs exportieren.
  153.  
  154. EXPORT:
  155. _if OP_GET == "" then _goto POINT_MAKE        ; Netcall ? Nein -> Msgs sam.
  156. _convert FastToZer'OP_CVT' "'TMPDIR''MSGFILE'"    ; PM-File erstellen
  157.  
  158. ;    Messages exportieren (PMs bei Usercall auch)
  159.  
  160. POINT_MAKE:
  161. _on error/ignore
  162. _point makefile'OP_MAKE' "'TMPDIR''MSGFILE'" 'MAXKBYT' "'TMPDIR''NRFILE'"
  163. _on error POINT_ERROR
  164.  
  165. ;    Messages packen
  166.  
  167. _extern/q 'PACKER'
  168.  
  169. ;
  170. ;    Handshaking senden
  171. ;
  172. HANDSHAKE:
  173. _echo/nolf "^U"                    ; NAK fuer Fertig senden
  174. _wait 2                        ; Sernr. ignorieren
  175. _echo/nolf "^F"                    ; Bei uns ist es immer OK !
  176.  
  177. ;
  178. ;    Messages uploaden und downloaden
  179. ;
  180.  
  181. _on hangup/ignore                ; Auch weiter, wenn aufgelegt
  182.  
  183. _disk upload "'TMPDIR''RECFILE'"        ; File vom Point empfangen
  184. _disk download "'TMPDIR''PCKFILE'"        ; File an Point schicken
  185.  
  186. ;
  187. ;    Geschickte Messages und PMs als gelesen markieren
  188. ;
  189.  
  190. _on error/ignore                ; Alle Fehler ignorieren
  191. _point makefile/setnr "'TMPDIR''NRFILE'"    ; Gezogene Msgs = alte Msgs
  192.  
  193. ;
  194. ; Nicht mehr benoetigte Files loeschen, empfangene Messages entpacken.
  195. ;
  196.  
  197. _extern/q delete "'TMPDIR''PCKFILE'" "'TMPDIR''NRFILE'" "'TMPDIR''MSGFILE'" "'NETDIR''COPYFILE'" "'NETDIR''COPYNR'"
  198. _extern/q 'UPACKER'
  199.  
  200. ;
  201. ; Bei Netcall PM-Netfile loeschen und Nodes in Liste aufnehmen
  202. ;
  203.  
  204. _if OP_GET == "" then _goto POINT_GET        ; Netcall ? Nein, verzw.
  205. _convert FastToZer'OP_CVT'/Del            ; mbnet:-File loeschen
  206. _if {STREET} != "@NETCALL" then _goto POINT_GET    ; @Netcall ? Nein, verzw.
  207. _fastnet getfile "'TBOXDIR''{NAME}'.NODES"    ; Nodes in Nodeliste aufnehmen
  208.  
  209. ;
  210. ; Alle Messages und PMs importieren
  211. ;
  212. POINT_GET:
  213. _point getfile'OP_GET' "'TMPDIR''MSGFILE'"    ; Nachrichten einsortieren
  214.  
  215. ; Alle Files loeschen
  216.  
  217. POINT_ERROR:                    ; Fehler / Ende
  218. POINT_END:
  219. _if TMPDIR != "" then _extern/q delete "'TMPDIR'#?" ; Disk aufraeumen
  220. _logout/f                    ; Logout
  221.